]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
signalTracker: Clear all signal trackers on shutdown
authorJonas Ådahl <jadahl@gmail.com>
Wed, 17 Aug 2022 14:30:07 +0000 (16:30 +0200)
committerJonas Ådahl <jadahl@gmail.com>
Fri, 25 Nov 2022 21:09:37 +0000 (22:09 +0100)
This avoids a lot of otherwise invalid signal handler invokations if we
would later attempt to terminate the gjs and mutter context.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1349>

js/misc/signalTracker.js

index 3b71fbc592094fed60af83add52857346a54334b..e4497e26aa48289a0d0449f087046ae179b11dbf 100644 (file)
@@ -43,6 +43,12 @@ class SignalManager {
 
     constructor() {
         this._signalTrackers = new Map();
+
+        global.connect_after('shutdown', () => {
+            [...this._signalTrackers.values()].forEach(
+                tracker => tracker.destroy());
+            this._signalTrackers.clear();
+        });
     }
 
     /**